{extend name="public/base" /}

<!-- 子导航 -->
{block name="sidebar"}
    {include file="article/sidemenu" /}
{/block}
{block name="body"}
    <script type="text/javascript" src="__PUBLIC__/static/uploadify/jquery.uploadify.min.js"></script>
    <div class="main-title cf">
        <h2>
            新增[{$model['title']}]
        </h2>
    </div>
    <!-- 标签页导航 -->
<div class="tab-wrap">
    <ul class="tab-nav nav">
        {volist name=":parse_config_attr($model['field_group'])" id="group"}
            <li data-tab="tab{$key}" {eq name="key" value="1"}class="current"{/eq}><a href="javascript:void(0);">{$group}</a></li>
        {/volist}
    </ul>
    <div class="tab-content">
    <!-- 表单 -->
    <form id="form" action="{:url('add?model='.$model['id'])}" method="post" class="form-horizontal">
        <!-- 基础文档模型 -->
        {volist name=":parse_config_attr($model['field_group'])" id="group"}
        <div id="tab{$key}" class="tab-pane {eq name="key" value="1"}in{/eq} tab{$key}">
            {volist name="fields[$key]" id="field"}
                {if condition="$field['is_show'] == 1 || $field['is_show'] == 2"}
                <div class="form-item cf">
                    <label class="item-label">{$field['title']}<span class="check-tips">{notempty name="field['remark']"}（{$field['remark']}）{/notempty}</span></label>
                    <div class="controls">
                        {switch name="field.type"}
                            {case value="num"}
                                <input type="text" class="text input-mid" name="{$field.name}" value="{$field.value}">
                            {/case}
                            {case value="string"}
                                <input type="text" class="text input-large" name="{$field.name}" value="{$field.value}">
                            {/case}
                            {case value="textarea"}
                                <label class="textarea input-large">
                                <textarea name="{$field.name}">{$field.value}</textarea>
                                </label>
                            {/case}
                            {case value="date"}
                                <input type="text" name="{$field.name}" class="text date" value="" placeholder="请选择日期" />
                            {/case}
                            {case value="datetime"}
                                <input type="text" name="{$field.name}" class="text time" value="" placeholder="请选择时间" />
                            {/case}
                            {case value="bool"}
                                <select name="{$field.name}">
                                    {volist name=":parse_field_attr($field['extra'])" id="vo"}
                                        <option value="{$key}" {eq name="field.value" value="$key"}selected{/eq}>{$vo}</option>
                                    {/volist}
                                </select>
                            {/case}
                            {case value="select"}
                                <select name="{$field.name}">
                                    {volist name=":parse_field_attr($field['extra'])" id="vo"}
                                        <option value="{$key}" {eq name="field.value" value="$key"}selected{/eq}>{$vo}</option>
                                    {/volist}
                                </select>
                            {/case}
                            {case value="radio"}
                                {volist name=":parse_field_attr($field['extra'])" id="vo"}
                                    <label class="radio">
                                    <input type="radio" value="{$key}" {eq name="field.value" value="$key"}checked{/eq} name="{$field.name}">{$vo}
                                    </label>
                                {/volist}
                            {/case}
                            {case value="checkbox"}
                                {volist name=":parse_field_attr($field['extra'])" id="vo"}
                                    <label class="checkbox">
                                    <input type="checkbox" value="{$key}" name="{$field.name}[]" {eq name="field.value" value="$key"}checked{/eq}>{$vo}
                                    </label>
                                {/volist}
                            {/case}
                            {case value="editor"}
                                <label class="textarea">
                                <textarea name="{$field.name}">{$field.value}</textarea>
                                {:hook('adminArticleEdit', array('name'=>$field['name'],'value'=>$field['value']))}
                                </label>
                            {/case}
                            {case value="picture"}
                                <div class="controls">
                                    <input type="file" id="upload_picture_{$field.name}">
                                    <input type="hidden" name="{$field.name}" id="cover_id_{$field.name}"/>
                                    <div class="upload-img-box">
                                    {notempty name="data[$field['name']]"}
                                        <div class="upload-pre-item"><img src="{$data[$field['name']]|get_cover='path'}"/></div>
                                    {/notempty}
                                    </div>
                                </div>
                                <script type="text/javascript">
                                //上传图片
                                /* 初始化上传插件 */
                                $("#upload_picture_{$field.name}").uploadify({
                                    "height"          : 30,
                                    "swf"             : "__PUBLIC__/static/uploadify/uploadify.swf",
                                    "fileObjName"     : "download",
                                    "buttonText"      : "上传图片",
                                    "uploader"        : "{:url('File/uploadPicture',array('session_id'=>session_id()))}",
                                    "width"           : 120,
                                    'removeTimeout'   : 1,
                                    'fileTypeExts'    : '*.jpg; *.png; *.gif;',
                                    "onUploadSuccess" : uploadPicture{$field.name},
                                    'onFallback' : function() {
                                        alert('未检测到兼容版本的Flash.');
                                    }
                                });
                                function uploadPicture{$field.name}(file, data){ 
                                    var data = $.parseJSON(data);
                                    var src = '';
                                    if(data.status){
                                        $("#cover_id_{$field.name}").val(data.id);
                                        src = data.url || '__ROOT__' + data.path
                                        $("#cover_id_{$field.name}").parent().find('.upload-img-box').html(
                                            '<div class="upload-pre-item"><img src="' + src + '"/></div>'
                                        );
                                    } else { 
                                        updateAlert(data.info);
                                        setTimeout(function(){
                                            $('#top-alert').find('button').click();
                                            $(that).removeClass('disabled').prop('disabled',false);
                                        },1500);
                                    }
                                }
                                </script>
                            {/case}
                            {case value="file"}
                                <div class="controls">
                                    <input type="file" id="upload_file_{$field.name}">
                                    <input type="hidden" name="{$field.name}" value="{$data[$field['name']]}"/>
                                    <div class="upload-img-box">
                                        {present name="data[$field['name']]"}
                                            <div class="upload-pre-file"><span class="upload_icon_all"></span>{$data[$field['name']]}</div>
                                        {/present}
                                    </div>
                                </div>
                                <script type="text/javascript">
                                    //上传图片
                                    /* 初始化上传插件 */
                                    $("#upload_file_{$field.name}").uploadify({
                                        "height"          : 30,
                                        "swf"             : "__PUBLIC__/static/uploadify/uploadify.swf",
                                        "fileObjName"     : "download",
                                        "buttonText"      : "上传附件",
                                        "uploader"        : "{:url('File/upload',array('session_id'=>session_id()))}",
                                        "width"           : 120,
                                        'removeTimeout'   : 1,
                                        "onUploadSuccess" : uploadFile{$field.name},
                                        'onFallback' : function() {
                                            alert('未检测到兼容版本的Flash.');
                                        }
                                    });
                                    function uploadFile{$field.name}(file, data){
                                        var data = $.parseJSON(data);
                                        if(data.status){
                                            var name = "{$field.name}";
                                            $("input[name="+name+"]").val(data.data);
                                            $("input[name="+name+"]").parent().find('.upload-img-box').html(
                                                "<div class=\"upload-pre-file\"><span class=\"upload_icon_all\"></span>" + data.info + "</div>"
                                            );
                                        } else {
                                            updateAlert(data.info);
                                            setTimeout(function(){
                                                $('#top-alert').find('button').click();
                                                $(that).removeClass('disabled').prop('disabled',false);
                                            },1500);
                                        }
                                    }
                                </script>
                            {/case}
                            {default/}
                            <input type="text" class="text input-large" name="{$field.name}" value="{$field.value}">
                        {/switch}
                    </div>
                </div>
                {/if}
            {/volist}
        </div>
        {/volist}

        <div class="form-item cf">
            <button class="btn submit-btn ajax-post hidden" id="submit" type="submit" target-form="form-horizontal">确 定</button>
            <a class="btn btn-return" href="{:url('article/index?cate_id='.$cate_id)}">返 回</a>
            {if condition="config('open_draftbox') and (request()->action() eq 'add' or $info['status'] eq 3)"}
            <button class="btn save-btn" url="{:url('article/autoSave')}" target-form="form-horizontal" id="autoSave">
                存草稿
            </button>
            {/if}
            <input type="hidden" name="id" value="{$info.id|default=''}"/>
            <input type="hidden" name="pid" value="{$info.pid|default=''}"/>
            <input type="hidden" name="model_id" value="{$info.model_id|default=''}"/>
            <input type="hidden" name="group_id" value="{$info.group_id|default=''}"/>
            <input type="hidden" name="category_id" value="{$info.category_id|default=''}">
        </div>
    </form>
    </div>
</div>
{/block}

{block name="script"}
<link href="__PUBLIC__/static/datetimepicker/css/datetimepicker.css" rel="stylesheet" type="text/css">
{php}if(config('COLOR_STYLE')=='blue_color') echo '<link href="__PUBLIC__/static/datetimepicker/css/datetimepicker_blue.css" rel="stylesheet" type="text/css">';{/php}
<link href="__PUBLIC__/static/datetimepicker/css/dropdown.css" rel="stylesheet" type="text/css">
<script type="text/javascript" src="__PUBLIC__/static/datetimepicker/js/bootstrap-datetimepicker.min.js"></script>
<script type="text/javascript" src="__PUBLIC__/static/datetimepicker/js/locales/bootstrap-datetimepicker.zh-CN.js" charset="UTF-8"></script>
<script type="text/javascript">

$('#submit').click(function(){
    $('#form').submit();
});

$(function(){
    $('.date').datetimepicker({
        format: 'yyyy-mm-dd',
        language:"zh-CN",
        minView:2,
        autoclose:true
    });
    $('.time').datetimepicker({
        format: 'yyyy-mm-dd hh:ii',
        language:"zh-CN",
        minView:2,
        autoclose:true
    });
    showTab();

    {if condition="config('open_draftbox') and (ACTION_NAME eq 'add' or $info['status'] eq 3)"}
    //保存草稿
    var interval;
    $('#autoSave').click(function(){
        var target_form = $(this).attr('target-form');
        var target = $(this).attr('url')
        var form = $('.'+target_form);
        var query = form.serialize();
        var that = this;

        $(that).addClass('disabled').attr('autocomplete','off').prop('disabled',true);
        $.post(target,query).success(function(data){
            if (data.status==1) {
                updateAlert(data.info ,'alert-success');
                $('input[name=id]').val(data.data.id);
            }else{
                updateAlert(data.info);
            }
            setTimeout(function(){
                $('#top-alert').find('button').click();
                $(that).removeClass('disabled').prop('disabled',false);
            },1500);
        })

        //重新开始定时器
        clearInterval(interval);
        autoSaveDraft();
        return false;
    });

    //Ctrl+S保存草稿
    $('body').keydown(function(e){
        if(e.ctrlKey && e.which == 83){
            $('#autoSave').click();
            return false;
        }
    });

    //每隔一段时间保存草稿
    function autoSaveDraft(){
        interval = setInterval(function(){
            //只有基础信息填写了，才会触发
            var title = $('input[name=title]').val();
            var name = $('input[name=name]').val();
            var des = $('textarea[name=description]').val();
            if(title != '' || name != '' || des != ''){
                $('#autoSave').click();
            }
        }, 1000*parseInt({:config('DRAFT_AOTOSAVE_INTERVAL')}));
    }
    autoSaveDraft();

    {/if}

});
</script>
{/block}
